Trajectory detection and feedback systems for tennis

ABSTRACT

A system for capturing and analyzing a trajectory of a tennis ball or other object associated with a play of a game of tennis and providing feedback is described. The system may be designed to capture and analyze a trajectory of a tennis ball during various activities related to the play of a game of tennis. The system may be configured to provide immediate feedback that may be utilized by a player to improve their performance as well as provide entertainment value above and beyond what is normally associated with the play of a game of tennis. Further, the system may be operable for use in an area where tennis is normally played during normal playing activities, such as player playing a game or practicing on an outdoor tennis court. The system may be operable to account for factors associated with its ambient environment, such as wind, temperature and humidity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/745,429, filed Jan. 18, 2013, which is a continuation of and claimspriority to U.S. patent application Ser. No. 12/015,445, filed Jan. 16,2008. U.S. patent application Ser. No. 12/015,445 claims priority under35 U.S.C. § 119(e) to U.S. Provisional Patent Application No.60/880,773, filed on Jan. 16, 2007. U.S. patent application Ser. No.12/015,445 further claims priority under 35 U.S.C. § 120 and is aContinuation-in-Part application of U.S. patent application Ser. No.11/508,004, filed Aug. 21, 2006, now U.S. Pat. No. 7,854,669, which is aContinuation-in-Part and claims priority under 35 U.S.C. § 120 to U.S.patent application Ser. No. 10/242,373, filed Sep. 11, 2002, now U.S.Pat. No. 7,094,164. U.S. patent application Ser. No. 10/242,373 claimspriority under 35 U.S.C. § 119(e) from the following three U.S.Provisional Patent Applications: 60/323,029, filed Sep. 12, 2001;60/348,057, filed Jan. 11, 2002; and 60/395,875 filed Jul. 12, 2002.Each of the above provisional and non-provisional applications areincorporated herein by reference in their entirety.

TECHNICAL FIELD

The present invention relates generally to devices and systems forsports training and entertainment and more specifically to a trajectorydetection and feed back systems and associated methods for tennis.

BACKGROUND

In regards to tennis, there is a lack of training devices that allow fortennis players to train muscle memory for the tennis serve, volleys orground strokes on-court or off-court in a manner that is measurable andrepeatable. For example, there are no simple, non-intrusive, costeffective ways for tennis players to know whether their practice serves,volleys or ground strokes are being correctly reproduced during matches,to measure muscle memory consistency in their serves, volleys and groundstrokes when ball results are impacted by wind, temperature, humidity,ball type/age, altitude, etc. or to keep track of their serve, volley orground stroke accuracy over many different training and playingsessions. Further, for players that enjoy games or are motivated bycompetition, there are no simple, non-intrusive, cost effective ways tocompete with themselves or with each other in one location or with eachother in multiple locations while using their own unmodified racquetsand unmodified ball in a normal tennis environment (court), such aswithin the context of video game utilizing data measured during theiractual game play. In the following paragraphs, system, apparatus andmethod that may satisfy the issues described above are described.

SUMMARY

A system for capturing and analyzing a trajectory of a tennis ball orother object associated with a play of a game of tennis and providingfeedback is described. The system may be designed to capture and analyzea trajectory of a tennis ball during various activities related to theplay of a game of tennis including serves and ground-strokes. The systemmay be configured to provide immediate feedback that may be utilized bya player to improve their performance as well as provide entertainmentvalue above and beyond what is normally associated with the play of agame of tennis.

One aspect of the present invention relates to a device for analyzing atrajectory of a tennis ball. The device may be characterized ascomprising: 1) one or more cameras for recording video frame data usedto characterize a trajectory of a tennis ball generated by a playerduring a tennis related activity; 2) a logic device designed orconfigured to i) receive the video frame data, ii) identify the tennisball in the video frame data, iii) generate trajectory parameters thatcharacterize one or more states of the tennis ball along its trajectoryand iv) generate feedback information using the trajectory parameters;and 3) at least one output mechanism for providing the feedbackinformation to the player in real-time. In particular embodiments, thedevice may include two cameras or a stereoscopic camera. These camerasmay be utilized as part of a machine vision system.

The tennis related activity may be a toss of the tennis ball for a serveand where the logic device is further designed or configured todetermine the trajectory of the tennis ball during the toss and prior toimpact with a racquet. The feedback information may be related to thetrajectory of the tennis ball during the toss. In addition, the logicdevice may be further designed or configured to determine the trajectoryof the tennis ball after impact with the racquet where the feedbackinformation is related to the trajectory of tennis ball after the impactof the racquet. Further, the feedback information may includeinformation related to the trajectory of the tennis ball during the tossand may include information related to the trajectory of the tennis ballafter impact with the racquet. In other example, the activity associatedwith the game of tennis may be a ground-stroke and where the logicdevice is further designed or configured to determine one or more of thetrajectory of the tennis ball prior to impact with a racquet, thetrajectory of the tennis ball during impact with the racquet, thetrajectory of the tennis ball after impact with the racquet orcombinations thereof and to provide feedback information related to oneor more of the trajectories.

The feedback information may be derived from a simulated trajectory ofthe tennis ball or may be directly measured by the device. In particularembodiments, the feedback information may include one or more of thefollowing 1) a height of a serve toss, 2) a lean of the serve toss, 3) aspin of the serve toss, 4) a consistency of a plurality of serve tosses,5) an impact position height of a serve, 6) an impact position lean ofthe serve, 7) a consistency of an impact position of a plurality ofserves, 8) an initial speed of the serve, 9) an initial angle of theserve, 10) an initial direction of the serve, 11) an initial spin of theserve, 12) a consistency of the initial speed of the plurality ofserves, 13) a consistency of the angle of serve of the plurality ofserves, 14) a consistency of the direction of the plurality of serves,15) a consistency of the spin of the plurality of serves, 16) acalculated speed of the serve, 17) a consistency of the calculated speedof the plurality of serves, 18) a calculated landing speed of the serve,19) a location of the serve at landing, 20) a spin of the serve atlanding, 21) a direction vector of the serve at landing, 22) aconsistency of the calculated landing speed for the plurality of serves,23) a consistency of the location at landing of the plurality of server,24) a consistency of the spin at landing of the plurality of serves, 25)a consistency of the direction vector of the plurality of serves, 26) ameasured landing speed of the serve, 27) a measured location of theserve, 28) a measured spin of the serve, 29) a measured direction vectorof the serve, 30) a consistency of the measured landing speed of theplurality of serves, 31) a consistency of the measured location of theplurality of serves, 32) a consistency of the spin measured for theplurality of serves, 33) a consistency of the direction vector measuredfor the plurality of serves, 34) a height above or below a net of thetennis ball, 35) a location of the crossing point of the net of thetennis ball, 36) a release location of the serve toss and 37)combinations thereof.

In other embodiments, the activity associated with the game of tennismay be a ground-stroke and where the logic device is further designed orconfigured to determine one or more of the trajectory of the tennis ballprior to impact with a racquet, the trajectory of the tennis ball duringimpact with the racquet, the trajectory of the tennis ball after impactwith the racquet or combinations thereof and to provide feedbackinformation related to one or more of the trajectories. The logic devicemay be further designed or configured to identify a boundary lineassociated with a tennis court in the video frame data where the logicdevice is further designed or configured to determine a position of thedevice relative to the tennis court using information associated withthe identified boundary line for calibration purposes. In addition, thelogic device is further designed or configured to determine the positionof the tennis ball relative to the boundary line.

In yet other embodiments, the logic device may be further designed orconfigured to identify a position of a body element of the playerparticipating in the tennis related activity in the video frame data andto determine the position of the body element relative to the boundaryline. Further, the logic device may be further designed or configured toidentify a net associated with a tennis court including an upper edge ofsaid net in the video frame data. A position of the device relative tothe net may be utilized for calibration purposes. In addition, the logicdevice may be further designed or configured to determine a position ofthe tennis ball relative to the upper edge of said net.

In some instances, the logic device may be further designed orconfigured to determine whether a tennis ball hit by a player on atennis court is inside of or outside of one or more boundary linesassociated with the tennis court. Also, the logic device may be furtherdesigned or configured to output feedback information to the playerindicating whether the tennis ball is insider or outside of the one ormore boundary lines with the feedback information generated using thetrajectory parameters or at least store this information.

The logic device may further designed or configured to determine thetrajectory parameters associated with a two-dimensional trajectory forthe tennis ball or to determine the trajectory parameters associatedwith a three-dimensional trajectory for the tennis ball. The logicdevice may be further designed or configured to determine one or more ofa spin rate, a spin direction or combinations thereof of the tennis ballfor at least one point along its trajectory. Further, the logic deviceis may be designed or configured to identify a racquet in the videoframe data and to determine a position of the racquet, a velocity of theracquet, an orientation of the racquet as a function of time orcombinations thereof as a function of time. Also, the logic device maybe designed or configured to identify a body element of the playerparticipating in the tennis related activity in the video frame data andto determine a position of the body element, an orientation of the bodyelement, a velocity of the body element or combinations thereof, as afunction of time and to provide feedback information related to one ormore of the position of the body element, the orientation of the bodyelement or the velocity of the body element to a user.

The device may comprise one or more sensors for determining anorientation of the device where the one or more sensors may compriseaccelerometers or tilt sensors. These sensors may be utilized duringcalibration of the device. The logic device may be designed orconfigured to determine, for the purposes of calibration, a distancefrom the device to one or more of the tennis ball, a racquet, a boundaryline on the tennis court, a net on the tennis court, a vertical surfaceagainst which the tennis ball is being hit or a player hitting thetennis ball.

In further embodiments, the output mechanism may be a wireless interfacefor outputting the feedback information to one or more remote deviceswhere the remote device may be worn by a player participating in theactivity associated with game of tennis. The device may be operable tooutput feedback information to a plurality of player simultaneously,such as a player hitting a serve and a player receiving a serve. Inanother embodiment, the output mechanism may be an audio device coupledto a display.

The device may comprise a housing for the one or more cameras, the logicdevice, and the at least one output mechanism. The housing may have aweight and a form factor, which facilitate one or more of transport,storage, unobtrusive set-up, calibration, or operation of the device. Aportion of the housing may comprise a bag. The device may be portable.For instance, the device may include wheels that allow the device topulled or pushed by a user along the ground or handle that allows thedevice to be carried. The device may include an input mechanism. Theinput mechanism may be a touch screen display. The input mechanism maybe a wireless interface for receiving input from a remote device.

The logic device may be a general purpose computer comprising one ormore of a processor, a data storage device, RAM, operating systemsoftware, device interfaces, device drivers, trajectory analysissoftware, machine vision software and combinations thereof. The memorystorage device may be for storing trajectory session information whereinthe trajectory session information comprises one or more of 1) digitizedvideo frame data, trajectory information and feedback informationgenerated for a plurality of trajectories, 2) a trajectory session time,3) a trajectory session date, 4) a trajectory session location orcombinations thereof. The logic device may be further designed orconfigured to store data related to one or the trajectory of the tennisball, movements of the player, movements of a racquet captured in thevideo frame data for use in a video simulation related to tennis wherethe video simulation of the player is generated using the stored data.

The device may be capable of one of autonomous set-up, autonomouscalibration, autonomous operation or combinations thereof. In someinstances, after manual input of data by a user, a confirmation of datadetermined by the device, the logic device is further designed orconfigured to complete a calibration procedure. The device may bedesigned to determine for a plurality of related trajectories capturedby the device a consistency for at least one of the trajectoryparameters generated for each of the plurality of related trajectorieswhere the consistency may be determined by calculating a statisticaldeviation.

Another aspect of the present invention is related to a device foranalyzing a trajectory of a tennis ball. The device may be generallycharacterized as comprising: 1) one or more cameras for recording videoframe data used to characterize a trajectory of a tennis ball generatedby a player during a tennis related activity; 2) a logic device designedor configured to i) receive the video frame data, ii) to identify thetennis ball in the video frame data, iii) generate trajectory parametersthat characterize one or more states of the tennis ball along itstrajectory and iv) generate feedback information using the trajectoryparameters; and 3) at least one output mechanism for providing thefeedback information to the player in real-time; 4) a housing supportingor enclosing the one or more cameras, a logic device, and the at leastthe output mechanism wherein the housing and components supported orenclosed by the housing having a form factor and a weight factor thatallow the device to be carried by the player. The device may be designedto be securable to a fence by the player for operation.

Yet another aspect of the present invention is related to a device foranalyzing a trajectory of a tennis ball during a serve. The device maybe generally characterized as comprising: 1) one or more cameras forrecording video frame data used to characterize a trajectory of a tennisball generated by a player during a serve toss, after the tennis ball isimpacted by a racquet or combinations thereof; 2) a logic devicedesigned or configured to i) receive the video frame data, ii) identifythe tennis ball in the video frame data, iii) generate trajectoryparameters that characterize one or more states of the tennis ball alonga) a trajectory of the serve toss, b) a trajectory after impact by theracquet or combinations thereof, and iv) generate feedback informationusing the trajectory parameters; and 4) at least one output mechanismfor providing the feedback information to the player in real-timerelated to the serve.

Another aspect of the invention pertains to computer program productsincluding a machine-readable medium on which is stored programinstructions for implementing any of the methods described above. Any ofthe methods of this invention may be represented as program instructionsand/or data structures, databases, etc. that can be provided on suchcomputer readable media.

Aspects of the invention may be implemented by networked gamingmachines, game servers and other such devices. These and other featuresand benefits of aspects of the invention will be described in moredetail below with reference to the associated drawings. In addition,other methods, features and advantages of the invention will be or willbecome apparent to one with skill in the art upon examination of thefollowing figures and detailed description. It is intended that all suchadditional methods, features and advantages be included within thisdescription, be within the scope of the invention, and be protected bythe accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The included drawings are for illustrative purposes and serve only toprovide examples of possible structures and process steps for thedisclosed inventive systems and methods for providing game services toremote clients. These drawings in no way limit any changes in form anddetail that may be made to the invention by one skilled in the artwithout departing from the spirit and scope of the invention.

FIG. 1 is a diagram illustrating an in-situ use of trajectory detectionand analysis system for tennis.

FIG. 2 is a perspective view illustrating a use of a trajectorydetection and analysis system for tennis.

FIG. 3 is an example of a wearable feedback interface for a trajectorydetection and analysis system for tennis.

FIGS. 4 and 5 are examples of interface screens for a trajectorydetection and analysis system for tennis.

FIG. 6 is a block diagram illustrating exemplary components of atrajectory detection and analysis system.

FIGS. 7A-7C are perspective drawings illustrating exemplary componentsof a trajectory detection and analysis system.

FIG. 8 is an information flow diagram for exemplary components of atrajectory detection and analysis system.

DETAILED DESCRIPTION

In the following figures, aspects of a system that captures, analyzesand provides feedback related to tennis is described. In particular, thesystem may be designed to capture and analyze a trajectory of a tennisball during various activities related to the play of a game of tennis.The system may be configured to provide immediate feedback that may beutilized by a player to improve their performance as well as provideentertainment value above and beyond what is normally associated withthe play of a game of tennis. The analysis and feedback system may beportable and may be operable for use in an area where tennis is normallyplayed, such as an outdoor tennis court. Further, the system may bedesigned to be non-intrusive such that a player may use the system andreceive feedback during normal activities associated with the play of agame of tennis. Although described primarily in regards to tennis, thesystem may be also be adaptable and useful for other tennis-like sports,such as but not limited to squash, racquetball, table tennis, etc.

With respect to FIGS. 1 and 2, an in-situ use of a trajectory detectionand analysis system for tennis is described. With respect to FIG. 3, awearable feedback device is described. With respect to FIGS. 4 and 5,interface screens related to performance analysis are discussed. Withrespect to FIGS. 6, 7 and 8, components of an analysis and feedbacksystem are presented for the purposes of illustration.

FIG. 1 is a diagram illustrating an in-situ use of trajectory detectionand analysis system for tennis. In the FIG. 1, an analysis and feedbackdevice and associated system 100 for analyzing a trajectory associatedwith the play of tennis and providing feedback may comprise one or moreof the following: 1) one or more cameras (or 3D capturing sensors, suchas CanestaVision™ Camera Module, Canesta, Inc., Americas Headquarters,Sunnyvale, Calif.) for recording video frame data used to characterize atrajectory (e.g., trajectory of a ball 110 along various points in itstrajectory, such as at 110 a, 110 b, 110 c and 110 d), 2) a logic device(see FIGS. 6, 7A-C and 8 for more details and 3) and one or morefeedback output mechanisms and associated interfaces for providing thefeedback information to a user of the system (e.g., wearable device 122,cell phone 123 and wireless interface 100 a). In some embodiments, theanalysis feedback device may include sensors and/or an interface formeasuring or inputting ambient conditions, such as temperature, humidityand wind speed.

The analysis and feedback device 100 may be designed or configured to i)receive the video frame data, ii) generate trajectory parameters thatcharacterize one or more states of the tennis ball 110, tennis racquet108 or a body element along its trajectory and iii) generate feedbackinformation using the trajectory parameters. The analysis and feedbackdevice may perform these analyzes using one or more logic devicescoupled to the device 100. The analysis and feedback device 100 may beportable and may be designed to operate on or off an actual tennis courtand may be self-calibrating to some extent. The device 100 may include arechargeable energy source to power the camera(s), logic device, and/oroutput signal. The rechargeable energy source could be one or more ofthe following: battery, solar panel, fuel cell.

Some examples of trajectories captured and analyzed by the device 100,may include a trajectory 102 of a tennis ball 110 hit by a racquet 108swung by a player 116. In further detail, the device 100 may be designedor configured to capture, analyze and provide feedback associated withbut not limited to: 1) a trajectory of a tennis ball after makingcontact with the court (trajectory after ball 110 d hits court, whichwould be different for a hard court, grass court or clay court), 2) atrajectory of a body element of the human while playing tennis (such asa trajectory 104 of player's 116 hand swinging racquet 108 or trajectorya player's hand tossing ball 100), 3) a trajectory of a tennis balltossed by the player 116 (e.g., along trajectory including 110 a, 110 band 110 c), 4) a trajectory 114 of a section of the racquet face orhandle (which may provide, the changing angles of the racquet throughthe time of contact with the ball) and 5) a trajectory of a tennis ball110 after being hit by the racquet 108, but before striking the ground,such as between trajectory points 110 c and 110 d.

The feedback information may be derived from measurements made by theanalysis and feedback device 100. For instance, the feedback informationmay be related to one or more of the trajectory parameters associatedwith a tennis ball 110. The trajectory parameters, which may bedetermined by the analysis and feedback device 100 may include but arenot limited to one or more of the following: 1) height of a serve toss110 b, 2) a lean of a serve toss, 3) a spin of a serve toss, 4)consistency of a serve toss and/or spin (derived from multiple serves),5) an impact position height of a serve 110 c, 6) an impact positionlean of a serve, 7) a consistency of an impact position of a serve, 8)an initial speed, angle, direction and/or spin of a serve, 9)consistency of initial speed, angle, direction and/or spin of a serve,10) a calculated speed of a serve, 11) a consistency of calculated speedof a serve, 12) calculated landing speed, location 110 d, spin, and/ordirection vector of a serve, 13) a consistency of calculated landingspeed location, spin, and/or direction vector of a serve, 14) a measuredlanding speed, location, spin and/or direction vector of a serve, 15) aconsistency of measured landing speed, location, spin and/or directionvector of a serve, 16) a height above/below the net at crossing point ofthe net and/or the location of the crossing point of the net, 17)release location of a serve toss, 18) combinations thereof. Further, thesystem may be able to record and provide feedback related to shotoutcomes, such as in or out, a shot location on the court, hit the net,whether a shot was successfully returned, etc.

Where applicable, information similar to that list listed above may beprovided for any type of shot that may occur during normal tennisplaying activities, such as ground strokes (forehand or backhand),overhead hits, volleys, service returns, etc. For example, the systemmay be designed or configured to provide feedback and store informationrelated to an impact position height of a stroke, a shot velocity orspin velocity as it leaves the racquet, a consistency of a strokeparameter (such as racquet head speed) and shot results (such as in orout). During training, a player may attempt to hit shots to a particularlocation on court 103 and thus, the system may be designed or configuredto provide a consistency/variability associated with shot placement.

The feedback information provided to a player may be related to one ormore parts of a trajectory. For instance, at one time a player may wishto receive feedback information regarding their toss 110 a-110 c, atanother time a player may wish to receive feedback information regardingtheir serve speed and impact height (e.g., height at 110 c), whichcorresponds to the trajectory of the ball after it is tossed, at othertimes the player may wish to receive feedback information regarding thelocation where the ball lands (e.g., 110 d), which is the later in thetrajectory 102. The analysis and feedback device 123 may be operable toprovide feedback information for one or more parts of the trajectorysimultaneously. For instance, the device may provide an audible, such as“7, 100, in,” which may correspond to a serve height of 7 feet, a servespeed of 100 miles per hour and an indication that it landed in. Theanalysis and feedback device may provide an interface that allows theuser to select what type of feedback information they wish to receive,such as a combination of feedback parameters. In one embodiment, thefeedback information may be provided to a wearable device 122 viawireless signals 101 from wireless interface 100 a.

The device may further include an interface that may providerecommendations for feedback information to output depending on whatgoal a player is trying to accomplish, such as increasing speed orincreasing accuracy, and possibly based upon a training regimen that aplayer is currently utilizing. For instance, feedback information toimprove a serve may comprise mastering two or more skills, requiring twotypes of feedback information. Thus, when the player is mastering thefirst skill, the device may provide feedback information of a first typeassociated with the first skill. After the player has mastered the firstskill, the device may provide feedback information of a second typeassociated with the second skill but still monitor the feedbackinformation associated with the first skill. Thus, the device may beoperable to notify the player, when after progressing to the secondskill, if the device notices the player has started slipping in theirmastery of the first skill.

In addition to providing feedback information to a player generating aparticular shot, feedback information of a shot may be provided to aplayer receiving a shot. For example, parameters related to a racquethead speed or movement (e.g., movement of racquet 108 along trajectory114) and then resultant serve speed and/or direction may be provided toa player receiving a serve. The information may or may not be providedsimultaneously to the player making the serve. This feedback informationor other combinations of feedback information associated with the servemay be useful in helping a player learn to return serves. For instance,feedback information associated with a racquet movement or other bodymovement of a player making a server may help the player to learn how tojudge a speed and/or direction of the resultant serve and hence, helpthem to anticipate and react to serves.

In the preceding paragraph listing the trajectory parameters, any of thetrajectory parameters may be normalized or modified in some manner toallow for comparisons, such as comparisons between sessions or betweenplayers. Some factors that may be considered in a normalization processmay include but are not limited to ambient conditions, such as windspeed, temperature and humidity, physical characteristic of a player,such as sex, weight, age and height and skill level of a player.Normalizations involving ambient conditions may allow training sessionscarried out under different training sessions to be more accuratelycompared. Normalizations involving physical characteristics may allowperformances from players with different physical characteristics to becompared. Normalizations involving skill level may allow players ofdiffering skill levels to compete against one another, akin to providinga handicap in golf.

In particular embodiments, the analysis and feedback device or anassociated input device may be operable to allow data used fornormalizations to be entered. In addition, the analysis and feedbackdevice may be operable to measure one or more of these normalizationinputs. For example, the analysis and feedback device 100 or an inputdevice associated with the system (e.g., 122 or 123 or see FIGS. 6, 7A-Cand 8 for more details) may be operable to measure an ambienttemperature and/or humidity that may be used to provide normalizationsfor comparisons between training sessions.

In addition, the analysis and feedback device may also measure and mayprovide feedback on other tennis parameters related to one or more ofthe following: racquet head movement (e.g., 114), racquet headorientation, racquet head impact point, a lower body movement, upperbody movement, feet position, such as foot fault, etc. The analysis andfeedback device may associate and/or analyze these parameters as theyrelate to the ball trajectory results. The device may measure andprovide feedback on consistency of these parameters with the sameservice type or across a series of service types (as well as with otherstroke types). The device may also include an interface and analysiscapability that allows a heart rate of the tennis player to bedetermined and provide feedback or analysis of this heart rate. Thisanalysis may be provided in conjunction/combination with other feedbackinformation, such as heart rate while serving or heart rate during goodserves as compared to bad serves, etc.

The analysis and feedback device may also be operable to store themeasurement of the parameters for later review, upload, analysis,display, sharing and combinations thereof. Some of these functions maybe directly available on the analysis and feedback device 100 or incombinations with other devices in a real-time or off-line manner (seeFIGS. 4 and 5 for an example of an interface screen that may providesuch information in an on-line or off-line manner). Further, theanalysis and feedback device may be operable to make a video recordingof the swing(s)/serve(s) for immediate or delayed review, analysisand/or sharing.

The analysis and feedback device 100 may be operable to gatherinformation that it uses for calibration purposes. For example, thedevice may be operable to sense one or more of the following: its ownposition, the position of the racquet, the position of the ball, theposition of the court markings and net, the position of the aboverelative to the others. Further that the device may be operable toself-calibrate one or more of its functions while accounting for one ormore of the following parameters: ball position, tennis player position,tennis racquet position, device position (its position), tilt of device,lighting, wind, humidity, type of racquet, brand of racquet, type ofball, identity of tennis player, altitude. The analysis and feedbackdevice may include one or more sensors that allow it to determine itsorientation, such as accelerometers or tilt sensors. For instance,device 100 may be operable to determine its orientation relative to ahorizontal surface.

Each time, the device is used it may be placed in a different position.For example, it may be hung on a fence in a differentlocation/orientation or placed in a different position on a playingsurface, such as a tennis court. During use of the device, a user maywish to move the device 100 to a different location, which may require arecalibration of the device 100. As another example, while hung on thefence, a user may bump into it and change its orientation, in whichcase, the device 100 may recalibrate itself. As another example, theuser may take a break and simply turn off the device and later returnand power-on the device, in which case a calibration may be performed.In one embodiment, the device may store its last or previous calibrationsettings and may use those as a starting point or may allow the user toselect a calibration setting that was previously generated to speed upthe calibration process.

In some embodiments, the device 100 may be operable to automaticallyrecalibrate itself or at least check its calibration on a periodicbasis. In some instances, the recalibration may be initiated when thedevice is operable to detect whether it has been moved or bumped. Forexample, the device 100 may include sensors for detecting a movement ofthe device, such as accelerometers. In other instances, a calibrationprocedure may be initiated when a device is first turned on. It yetother embodiments, the calibration procedure may be initiated manuallyvia input by a user.

In one embodiment, the calibration procedure may involve a manualconfirmation of some data by the user. For instance, the device 100 maydetermine whether it is level or not and then electronically adjust itsorientation, i.e., its frame capture capabilities, such that they arelevel with a playing surface, such as tennis court. Thus, the device 100even though may be tilted in some manner, the captured frame data willappear correctly orientated relative to the ground when later viewed.Next, the device may attempt to identify some object on the playingsurface, such as a boundary line, a net, a cone, a ball or a tennisracquet placed on the playing surface or a target placed on the playingsurface. The dimensions of the boundary line or boundary lines, cone ortarget may or may not be known to the device 100 and the device 100 maybe operable to determine the size of the object.

In some instances, the calibration procedure may require an object ortarget to be placed a certain distance from the device or the distancefrom the cone or target may be input by the user. Also, the size of theobject or the target may be optionally input by the user. If the deviceis placed on a playing surface with boundary lines, such as a tenniscourt of known dimensions, then inputting a distance or placing anobject at a known distance may not be necessary. Nevertheless, in someembodiments, the device 100 may be configured to request a confirmationthat an object or a location on the playing surface, such as a baselinecorner or a service box corner, is correctly identified by the device100. After a confirmation by the user or, as described above, a manualinput of some information by the user, the device 100 may be configuredto autonomously complete the calibration procedure and continue to astate where it is ready for trajectory capture. In some embodiments, thecalibration procedure may be completely autonomous and a confirmation bythe user or manual input by the user may not be utilized.

The analysis and feedback device 100 may include or may be coupled to adevice that provides an interface for inputting for parameters, such astype of racquet, type of ball, age of ball and ambient conditions, suchas the weather. Using racquet information, the system may be operable todetermine a location where a ball hits the racquet and compare it with aknown “sweet spot” for the racquet.

The analysis and feedback device may be operable to output data in anumber of formats that enhance a training experience in conjunction withthe device and/or that provide entertainment value. For instance, themeasured parameter(s) may be compiled into score(s), allowing the playerto track and share improvement in score. As another example, the scoresmay be shared in a real time or delayed fashion over a medium such asthe Internet or a cellular network, in a manner that allows the playersto compete with each other. Further, the scores or information outputfrom the device may allow observation and scoring to be provided to theplayer(s) or audience(s) for purposes of entertainment, payment, and/orteaching.

The analysis and feedback device may be operable to measure trajectoryparameter at numerous locations along a trajectory, such as from toss,to impact, to landing and bounce as shown in FIG. 1 for a server. Forexample, the device may be able to measure the resulting location wherethe serve first landed 110 d, such as in the opposite court. Thislocation may be recorded simply as serve in or serve out, which may alsobe provided as feedback to the player. Further, the location could alsodesignate the exact point that the serve hit the court or whether theserve hit a designated target space within the service box. It may ormay not be necessary to add additional cameras to the device to achievethis measurement of resulting serve location. In one implementation, asecond set of stereo cameras would be added to the device to view thecourt on the other side of the net from the server.

Additional details of an implementation of analysis and feedback deviceand/or system for tennis is described as follows for the purposes ofexplanation and is not meant to be limiting. FIG. 2 is a perspectiveview illustrating a use of a trajectory detection and analysis systemfor tennis. In FIG. 2, device 100 may be a custom tennis racquet bagcontaining a stereo camera consisting of top camera 124 a and bottomcamera 124 b. The bag may also contain the logic device that receivesthe frames, generates the trajectory information and generates awireless signal via wireless interface 100 a with initial ball impactheight, initial ball speed and initial ball angle. Wireless signal maybe received by a wearable device 122, which may display feedbackinformation, such as serve type, ball impact height, ball initial speedand ball initial angle (see FIG. 3 for more detail). The device may alsobe operable to output this information in an audio format. In someembodiments, the wearable device may also be used as an input device.

In particular embodiments, the wearable device may store informationregarding a series of shots that can later be downloaded to a computerand can be uploaded onto the Internet, if desired. Thus, the device mayinclude a memory unit, such as flash memory or a small hard-drive. Insome embodiments, the device may include sensors, such as a 3-axisaccelerometer and/or tilt/rotation sensors and/or GPS receiver thatallow a position of the watch to be tracked. This information may betransmitted to the analysis and feedback device 100. In one embodiment,the watch may include a band or other surface that is coated with amaterial that allows it to be more easily tracked and discerned bycameras 124 a and 124 b.

The tennis racquet 108 and tennis ball 128 may be unmodified. Although,the changing angle and speed of the racquet may be useful to determiningthe spin, speed and direction imparted to the ball. To simplifycapturing the angle and speed of the racquet, could put special markingon the head of the racquet or the strings of the racquet in order tosimplify capture and computation of this information. For example,stickers, with shapes or markings of a known size and pattern, or aspecial marking pen may be utilized that allow the system to more easilypick out the racquet in a series of video frames.

In one example, the custom tennis racquet bag 100 may be placed on thechain link fence 120 or other object in a position approximately headhigh and in line with the baseline extended 129. In other embodiments,the bag 100 may include an interface that allows it be coupled to atripod. In yet another embodiment, the bag may include telescoping legsthat may be configured to extend from the bag 100 for use and then toretract into the bag for stowage.

The player 116 a may select the service type to be attempted using thewearable device 122. The player may stand at the baseline in serviceposition and hold the ball 122 in front of their body in the normalstart position before the service toss. Both cameras may identify theball allowing the logic device to calculate the distance from the bag tothe ball. When the ball is identified, an LED light on the bag 100 maychange from red to green signifying the device is ready for the playerto hit the serve or another output device, such as an audio device maybe used to indicate the device status. For instance, a speaker coupledto the bag. When the player serves, the cameras may track the trajectoryof the ball during the toss, at impact point, and during the first 20feet of the flight after racquet impact or at other points along thetrajectory.

In particular embodiments, the device 100 may be operable to identifyone or more objects associated with a tennis court, such as courtmarkings and a net. Further, the device 100 may be operable to determinea relative position of one or more of a player or parts of a player tothe one or more objects, such as a player's foot relative to baseline.In addition, the device 100 may be operable to determine a relativeposition of a tennis ball to the one or more objects, such as whether atennis ball impacts on one side or another side of one of the courtmarkings.

In one example, with cameras operating at 200 frames/second, a 70 mileper hour serve would be captured by each camera in 38 frames during thefirst 20 feet of flight:20 ft/170 mi/hr×1 mile/5280 ft×60 min/1 hr×60 sec/1 min×200 fr/1sec=38.8framesOf course, this calculation will vary depending on such factors as thecamera being used, the player's physical attributes, the type of shot,etc. and is not meant to be limiting. Using a single camera, the impactheight, initial serve speed and initial serve direction may becalculated in 2-dimensions. Further, using a stereo camera the analysisand feedback device may calculate true speed and direction in3-dimensions correcting for the amount the serve direction deviates fromparallel to the device. The stereo camera may improve ball detection bythe vision system by separating the ball from the clutter of colors andpatterns in the background. The device 100 may include an additionalcamera 124 c for further tracking of the ball 108 along its trajectory.

In particular embodiments, the device 100 may be operable to track oneor more of a series of shots after the serve or a series of shots ingeneral. For instance, player 116 a may be serving to a wall 126 or toanother player (not shown). Player 116 a (a refers to time a andposition a) may hit the serve, which may return along trajectory 127where 128 b is the tennis ball along this trajectory. The player 116 b(b refers to time b and position b). The player could then hit the ballagainst the wall or to another person, which could also be returned. Thedevice 100 may be operable to record each of these shots and providefeedback information, which may vary or may be the same for each shot.

In yet another embodiment, training for ground strokes and volleys maybe accomplished with the use of a ball machine that provides the ball tothe training player in a consistent manner. The system could provide ananalysis on a series of strokes generated by the player using such adevice. The feedback device may be operable to record initial trajectoryparameters for the tennis ball leaving the device to factor in anyinconsistencies that are due to the ball machine as opposed to theplayer. An instructor hitting shots to a player may also generate aseries of shots that may be recorded although an instructor may not beas consistent as a ball machine.

FIG. 3 is an example of a wearable feedback interface for a trajectorydetection and analysis system for tennis. In one embodiment, providedfor illustrated purposes only, the wearable feedback device may includea “watch-like” form factor including an audio output interface 142 and adisplay interface 130. The display 130 could appear as shown where “1stserve flat,” 140, identifies the service type, “ht,” 132, refers toheight at the top of the toss parabola above the court surface ininches, “ln,” 134, refers to lean (the distance the ball is in front ofthe baseline at the top of the toss parabola), “act” refers to actualparameters that have just been measured for that serve (i.e., 92 inchesand lean of 12, “tar,” 136, refers to target parameters for thisparticular player and the type of serve that the player is trying toreproduce to build strong muscle memory.

In one implementation, the wearable device 122 may be operable to storeenvironment, trajectory and racquet data which can be uploaded to acomputer or other device connected to a network, such as the Internet.The wearable device may also be operable to store video data, associatedfeedback information, analysis associated with a training session, suchas consistency information. The wearable may also be operable to measureand store conditions associated with a training session, such as aplayer's heart and/or ambient temperature and humidity. Further, thedevice may be operable to communicate with an audio device, such as anear-bud worn by the player using a protocol, such as Bluetooth.™

FIGS. 4 and 5 are examples of interface screens for a trajectorydetection and analysis system for tennis. A display interface couldappear as shown (In some embodiments, this display interface may beprovided with the analysis and feedback device for immediate viewing orvia another device, such as computer connected to the Internet for laterviewing). On the interface screen, 150, “serve skill” may refer to theanalysis done on the data and being presented. Further, the large framein the screen includes the trajectory of the last 10 serves color-codedfor toss height, a photo of player is in the background. “ServeSummary”, “Serve Log” and “Noah Rankings” are examples of otheranalyses/displays available that may be selected by a user. “PrintSession” allows display page to be printed (or saved) to a file.“1stserve—flat” identifies the serve type. “10 serves” identifies the numberof serves analyzed. Of course, as noted above, any type of strokeassociated with the play of a game of tennis may be recorded andanalyzed.

In FIG. 4, “Target” may identify the personalized parameters the tennisplayer is trying to achieve. “Min”, “Max”, “Average” may display theminimum, maximum and average measurements for the 10 serves. Scale onthe right hand side may identifies the skill of the player's ability toreproduce the same results with every serve, i.e., a measure ofconsistency. Formula may be based upon a weighted average of thestandard deviation of results. “Expert III” may display the currentskill level for these 10 serves as displayed on the scale.

In another example, as shown in FIG. 5, for the purposes of illustrationonly, the display interface 160 may appear as follows. “Attribute”,“Serve Type”, “Country”, “State”, “Time Period”, “Gender” and “Age” maybe selected from pull down menus where “ID” is a self-identified namefor use on the system. “Speed” is an example of one trajectoryparameter, in this case normalized, calculated serve speed for theranking report in the identified categories.

As mentioned above, the feedback and analysis device may be used fortraining and entertainment purposes. On the court, a watch or other realtime display may provide a communication link among two or more tennisplayers in one or more locations in real time competition connectedthrough the Internet, cellular network or other medium while playing setgames. Examples of real time games using unmodified racquets and ballsmay include but are not limited to:

-   -   Highest percent of 25 flat serves placed into a 2 ft×2 ft square        at the back-left corner of the service box.    -   Highest percent of 25 kick serves placed into a 2 ft×2 ft square        at the back-center corner of the service box.    -   Fastest flat serve out of 25 serves.    -   Highest consistency skill for 25 second slice serves. Device        would display the skill level of all players when all have        completed their 25 serve session.    -   Around the world game. Players need to serve into 6 designated        spots on the court with a minimum of tries. Additionally,        players who hit a designated spot could get an additional try in        the same turn.

In one embodiment, the trajectory information may be used to create aninteractive tennis game that can be played over the internet using aracquet with know parameters (weight, string taughtness, etc.) and acourt with known parameters (hard, grass, clay) and maybe even a personwith known skill level (as the opponent or doubles partner). Game mayhave similarities to current video tennis offerings, but would use realtennis racquets with full, realistic swings and maybe even a real ball(for at least the serve hit into a net).

FIG. 6 is a block diagram of a trajectory detection and analysis system100 of the present invention. The components of the system 100 may beenclosed within a single housing or may be divided between a pluralityof different housings enclosing different components of the system.Further, the system 100 may include different components that are notshown, such as the peripheral devices and remote servers.

Physical information 216 is input into the system 100 via sensors 212.In one embodiment, a machine vision system may be used where the machinevision system comprises one or more cameras 201 (e.g., a CCD camera) anda video capture card 203 for digitizing captured frame data. The videocapture card 203 may capture color pixel data. The camera 201 may employa 3.5-8 mm zoom lens and may allow for different lens attachments. Inanother embodiment, the system may employ a plurality of camerasarranged on a mechanism that allows different type cameras to be rotatedor moved into place where only one camera is used at a time to recordframe data. The different cameras may allow the detection volume of thesystem to be adjusted.

The digitized frame data from a machine vision system and other sensordata may be processed by a computer 202. The computer 202 may be amodified PC using a 1.6 GHz processor 204 w/RAM and a CD-RW drive 205for inputting and outputting data and software. The computer 202 mayalso include a mass storage device, such as hard drive 207 and variousnetwork/device communication interfaces, such as wireless and wirednetwork interfaces, for connecting to a local area network (LAN),wide-area network (WAN) or the Internet. The device communicationinterfaces may allow the computer to communicate with a plurality ofperipheral devices and other remote system components.

The computer 202 may include operating system software 206 forcontrolling system resources, such as feedback interfaces 213 and thesystem input/output mechanisms 215. The computer 202 may be used toexecute analysis software 208 for analyzing trajectories using thesensor data from sensors 212 and for generating feedback information217. The analysis software 208 may include software for providingvarious services, such as 1) providing a list or a plot of trajectorysession information comprising one or more of physical information,trajectory parameters and feedback information for the plurality oftrajectories, 2) comparing the trajectory session information from thetrajectory session with trajectory session information from one or moredifferent trajectory sessions, 3) generating trajectory sessionparameters used to characterize a human's performance in the trajectorysession, 4) predicting performance improvement as a function of thetrajectory session parameters, 5) prescribing actions for improvingperformance and 6) performing video editing tasks. The computer 202 mayalso be used to execute database software for relating physicalinformation 216 and other information generated by the computer 202 toplayer identification information (e.g., name, age, address, team,school, etc.) and session identification information (e.g., time, data,location, number of trajectories analyzed, types of shots, etc.).

Power to the computer 202 and other devices may be provided from thepower supply 209. In one embodiment, the power supply 209 may be are-chargeable battery or a fuel cell. The power supply 209 may includeone or more power interfaces for receiving power from an externalsource, such as an AC outlet, and conditioning the power for use by thevarious system components. In one embodiment, for in-door/outdoormodels, the system 100 may include photocells that are used to providedirect power and charge an internal battery.

Feedback information 217, used by clients of the system 100 to improvetheir trajectory skills, may be output through one or more feedbackinterface devices 213, such as a sound projection device 211. Ingeneral, the system may be capable of outputting feedback information217 to a plurality of different devices simultaneously in a plurality ofdifferent formats, such as visual formats, auditory formats and kineticformats.

The system 100 may support a plurality of different input/outputmechanisms 215 that are used to input/display operational information218 for the system 100. The operational information 218 may includecalibration and configuration setting inputs for the system and systemcomponents. In one embodiment, a touch screen display 210 may be used toinput and display operational information 218 using a plurality menus.Menus may be available for configuring and setting up the system 100,for allowing a player to sign into the system and to select preferredsetting for the system 100 and for viewing session information 219 invarious formats that have been generated by the system. The printer 214may be used to output hard copies of the session information 219 for aplayer or other client of the system 100. The present invention is notlimited to a touch screen display as an interface for operationalinformation. Other input mechanisms, such as but not limited, a keyboard, a mouse, a touch pad, a joystick and a microphone w/voicerecognition software may be used to input operation information 218 intothe system.

FIGS. 6A-6C are perspective drawings of exemplary components of atrajectory detection and analysis system. These figures, as well asFIGS. 5 and 7, are provided to illustrate types of components in atrajectory system and not mean to limit various form factors,combinations and/or configurations of these components. For instance,the locations, sizes and form factors of these components could looksubstantially different if they were integrated into a bag, as describedwith respect to FIG. 2. Further, every component of the system need notbe included in every embodiment. For instance, the sound output device211 may be eliminated in some designs or made substantially smaller,which could alter the form factor of the design.

In FIGS. 6A-6C, a camera 201 used in a machine vision system, a touchscreen display 210, a computer 202 and a sound projection device 211 areintegrated into a housing 300 with a support chassis 301. The system 100may also include an amplifier for the speaker 211 (not shown). Further,the system 100 may include sensors for measuring ambient conditions,such as temperature, humidity and wind speed or at least include aninterface for inputting information related to these environmentalfactors.

Wheels 304 are attached to the chassis 301 to allow the system 100 to beeasily moved and positioned for use. In general, the chassis of devicesof the present invention may be designed with a weight and a formfactor, which may facilitate transport, storage and unobtrusive set-up,calibration and operation of the device. For instance, the deviceincludes a handle 303 attached to panels 300 comprising the housing thatmay be used to move the device and which may aid in set-up and storageof the device.

The speaker 211 takes up a large portion of the internal volume of thesystem. In one embodiment, a travel system may be used that incorporatesa portable computer system such as laptop that is connected to a machinevision system with the camera 201. To use the travel system, it may beplaced on top of a support platform, such as a tripod, a table or achair. The travel system may provide feedback information via a wirelesscommunication interface to audio device, such as an “earbud,” worn bythe player or wearable feed back device described with respect to FIG.3. In another embodiment, the travel system may generate output signalsthat may be routed through a portable audio system (e.g., a boom box)for amplification via speakers on the audio system to provide feedbackinformation.

FIG. 7 is an information flow diagram for a trajectory detection andanalysis system of the present invention. A sensor system 502, which maycomprise emitters 506 and detectors 506, receives physical information507. The physical information 507 may be energy signals reflected from atracked object 508, such as a tennis ball. In the case where sensors aremounted to the tracked object 508, then the physical information 507 maybe sent as signals from the sensors to a detector 504. Typically, thephysical information 508 is transmitted through a medium such as air.

The sensor system 502 may convert the physical information 507 to sensordata signals 509. For instance, a charge coupling device generateselectronic signals in response to photons striking a sensor array. Thesensor data signals 509 may be sent through a wired or wirelessconnection to a sensor interface 510, which provides signalconditioning. The signal conditioning may be needed to allow the sensordata 509 to be processed. For instance, prior to analysis, a videocapture card may digitize video frame data.

In 513, the conditioned signals 511 may be processed according to systemcontrol software and according to trajectory analysis software 513 usingset-up and control inputs 512 that have been input into the system. Thesystem control software 513 may analyze portions of the data 511 todetermine whether the sensor system 502 is operating properly.Based-upon the analysis of the data 511, the system control software mayprovide calibration instructions and other operational instructions tothe sensor system which may be transmitted to the sensors via the sensorinterface 510.

The trajectory analysis software 513 may be used to process theconditioned signals 511 and generate trajectory parameters. Thetrajectory parameters may be used to generate feedback information. Thefeedback information may be one or more trajectory parameters or acombination of trajectory parameters, such as a ratio of trajectoryparameters or a product of trajectory parameters that may be useful to asystem client in improving their trajectory skills.

Depending such factors as the application (trajectory of a specific typeof object), the set-up and components of the system, the environment inwhich the system is used and what portion of the trajectory of an objectthe device is used to measure, the present invention may providefeedback to the player nearly immediately, within a second or within 10seconds as measured from some time state along the trajectory that hasbeen analyzed by the system. For instance, when information on thebeginning of the trajectory is directly generated by the system, thenthe time to provide feedback may be measured from the time when thetrajectory is initiated and then first detected by the system. Wheninformation on the end of the trajectory is directly measured, then thetime to provide feedback may measure from the time to when thetrajectory has neared completion and has been detected by the system.

The feedback information may be sent as feedback information parameters516 to one or more device interfaces 517. The device interfaces 517 maycommunicate with a plurality of feedback devices. The device interfaces517, which may include device drivers, may transmit device data/commands518 to a feedback device interface 519 located on each feedback device.The device data/commands 518 may be used to control the operation of thefeedback devices. The output from the feedback device may also bemodified using set-up/control inputs 520 that may vary for each device.

The feedback devices may output the feedback information parameters 516received as device data 518 in one of an audio, visual or kinetic format521 depending on the capabilities of the feedback device. For example,the device interface 517 may send device data/commands 518 to a displaythat allows a numeric value of a feedback information parameter 516 tobe viewed on the display by one of the system clients 522, such asplayers, coaches and spectators. As another example, a device interface517 may send device data/commands 518 to an audio output device thatallows feedback information parameters 516 to be output in an audioformat to one or more of the system clients 522.

The feedback parameters 516 generated from the trajectory analysissoftware 513 and other raw data generated from the sensor system 502 maybe sent to session storage 515. The session storage 515 may accumulatetrajectory data from a plurality of trajectories generated during atrajectory session for one or more players. All of a portion of thetrajectory data 514 may be sent to archival storage 525 when the sessionhas been completed. For example, only a portion of the raw data, such asvideo frame data, may be sent to archival storage. Further, the data maybe filtered for bad data prior to being sent to archival storage 525.The archival storage 525 may include a database used to relatetrajectory data from one or more trajectory sessions to the conditionsof the trajectory session, such as time place and location, and playeridentification information.

The archival data 524 and session data 514 may be used to provide one ormore services 523 including but not limited to 1) a session record oftrajectory parameters (see FIG. 7), 2) session diagnostics, 3)prescription for improvement, 4) a history comparison of trajectory datafrom different sessions, 5) individual/group comparisons of trajectorysession data, 6) video analysis and editing tools, 7) simulations (e.g.,predicting a player's driving distance improvement based upon changingone or more of their swing parameters and 8) entertainment. As anexample of entertainment, a player's trajectory average trajectoryparameters and variability may be used in trajectory simulations for avideo tennis game or another game where the parameters have beenmeasured. Two players that have used the system 100 may both enter theirparameters and compete against one another in the video game. The playermay also use the game to see how they match up against professional orother athletes who have had their trajectory parameters defined.

Output from the data services 523 may be converted to a portable record527, such as print-out from a printer, or may be formatted for viewingon a graphical interface 528. The graphical interface may also include astorage capacity allowing data to be viewed at a later time. The outputfrom the data services 523, such as a portable record 527 or informationviewed on the graphical interface 528, may be used by the system clients522. The data services 523 may also be provided via a data mininginterface 526. The data mining interface 526 may include analysis toolsand a graphical interface. When the archival storage is remotelyaccessible, it may be used to access archived data 524 via a remoteconnection, such as from the Internet.

Information passed between the different components in the system asdescribed with respect to FIG. 6 may be transmitted using a number ofdifferent wired and wireless communication protocols. For instance, forwire communication, USB compatible, Firewire compatible and IEEE 1394compatible hardware communication interfaces and communication protocolsmay be used. For wireless communication, hardware and softwarecompatible with standards such as Bluetooth, IEEE 802.11a, IEEE 802.11b,IEEE 802.11x (e.g. other IEEE 802.11 standards such as IEEE 802.11c,IEEE 802.11d, IEEE 802.11e, etc.), IrDA, WiFi and HomeRF.

Calculating Tennis Stroke Dynamics

The trajectory (flight) of a tennis ball may be predicted based on anunderstanding of the dynamics of the racquet motion and the interactionof the racquet face (strings) with the ball when contact occurs.Depending on the type of shot (serve, ground stroke, volley, overhead),different parameters are important in measuring performance.

The serve involves the most complex combination of movements of theplayer, racquet, and ball. All of these are important in producing theserve. The first part of the ball's motion is the toss. From the instantthe ball is released from the server's hand, the trajectory of the ballis primarily affected by gravity. A secondary, but potentiallyimportant, effect is the action of wind on the ball while it is on itsway up or down. The trajectory of the ball may be observed directly bythe vision system, or it can be calculated based on the initialconditions (position and velocity) at the instant the ball is releasedfrom the server's hand. Accounting for the effects of wind on thetrajectory of the toss requires the wind speed and direction to be knowna priori and provided as an input to the calculation.

While the ball is in motion from the toss, the server swings the racquetoverhead to strike the ball near the apex of its trajectory. Severalparameters are important at the instant of contact: racquet head speedand direction, orientation of the racquet head, location of the ball attime of impact (height, longitudinal, and lateral positions), and ballspeed. It may also be important to account for the properties of theball (size, pressure, felt), racquet (frame stiffness, string type andtension), and environment (temperature, air density, humidity).

The interaction of the racquet face and the ball produces the motion ofthe ball. The ball motion at the instant it loses contact with theracquet face may be fully described by its position (x,y,z), velocity(Vx, Vy, Vz), and spin (Wx, Wy, Wz). This initial condition may bepredicted by modeling the interaction of the racquet strings and ball,or measured by direct observation of the ball using the vision system(The vision system may comprise cameras or other measuring devices,associated software and processors used to determine a trajectory of anobject, such as tennis ball).

The speed of the racquet approaching the ball may be decomposed into acomponent normal to the racquet face and two components tangential toit. The normal component of the speed determines the speed and directionof the ball, while the tangential components determine the spin(topspin/underspin and side spin). The speed of the ball leaving theracquet depends on the efficiency of momentum transfer from the racquetto the ball. This, in turn, depends on the elasticity of the strings andthe ball. If the collision is perfectly elastic and the racquet is muchmore massive than the ball, then the speed of the ball as it leaves theracquet will be twice the normal speed of the racquet face. If thisapproximation is not valid, it may be possible to calibrate the momentumtransfer efficiency by using the vision system to observe a number ofracquet strokes under a variety of conditions (such as speed and spin)and “learn” the characteristics of a particular racquet and ball pair.

The spin imparted to the ball by the racquet is the result of torqueapplied to the ball by the tangential speed of the racquet face. Theball will acquire angular velocity about the vertical axis (side spin)and lateral axis (top spin) that are important in predicting thesubsequent trajectory of the ball. As a first approximation, it can beassumed that the ball acquires all of the tangential velocity of theracquet. If this approximation is not valid, it may be possible tocalibrate a racquet/ball pairing by direct observation as described inthe preceding paragraph.

Once the initial motion of the ball is known—position, velocity, andspin vectors—the trajectory of the ball may be calculated from itsdynamics of flight and used to provide a player feedback information inreal-time. The variation of the aerodynamic properties (lift, drag, andside force) with the ball's velocity and spin is a potentiallysignificant effect that may be included as needed to achieve the desiredlevel of accuracy in the performance parameters of interest.

An example of one methodology for calculating the trajectory of a tennisball is provided below for the purposes of illustration only. More orless complex simulations may be used and this example is not meant to bea limiting description of analysis and feedback devices describedherein. The equations of motion shown represent a system of couplednonlinear ordinary differential equations; as such, no analytical,closed-form solution exists. With the computing power readily availablein today's low-cost personal computers, one practical approach tosolving these equations is to apply a numerical integration scheme. Forexample, it is possible to perform an explicit time integration schemeusing a small time increment, Δt, to advance the solution until thedesired results are obtained. This example is provided for illustrativepurposes only, as many other types of numerical schemes may be employedwith devices of the present disclosure.

Using a spreadsheet computation, a numerical integration may beperformed to generate a database of the trajectory. The database maycontain the relevant variables at each time step—acceleration, velocityposition, flight angle, etc. A database query may then performed toextract the parameters of interest, such as, but not limited to, flightdistance, maximum height, final speed, angle, etc.

Equations of Motion:

The motion of a tennis ball in flight may be described by the followingequations.

$\overset{¨}{x} = {- {{\frac{\rho\; s}{2\; m}\left\lbrack {\left( {\overset{.}{x} + w_{x}} \right)^{2} + {\overset{.}{y}}^{2} + \left( {\overset{.}{z} + w_{z}} \right)^{2}} \right\rbrack}\left\lbrack {{C_{D}\cos\;\alpha\;\cos\;\beta} + {C_{L}\sin\;\alpha\;\cos\;\beta}} \right\rbrack}}$$\overset{¨}{y} = {{- {{\frac{\rho\; s}{2\; m}\left\lbrack {\left( {\overset{.}{x} + w_{x}} \right)^{2} + {\overset{.}{y}}^{2} + \left( {\overset{.}{z} + w_{z}} \right)^{2}} \right\rbrack}\left\lbrack {{C_{L}\cos\;\alpha\;\cos\;\beta} - {C_{D}\sin\;\alpha\;\cos\;\beta}} \right\rbrack}} - g}$$\overset{¨}{z} = {- {{\frac{\rho\; s}{2\; m}\left\lbrack {\left( {\overset{.}{x} + w_{x}} \right)^{2} + {\overset{.}{y}}^{2} + \left( {\overset{.}{z} + w_{z}} \right)^{2}} \right\rbrack}\left\lbrack {{C_{D}\sin\;\beta} + {C_{N}\;\cos\;\alpha}} \right\rbrack}}$where the variables are defined as,{umlaut over (x)},ŷ,{circumflex over (z)} Acceleration components in x,y, z direction{dot over (x)},{dot over (y)},ż Velocity components in x, y, z,directionx Direction toward nety Verticalz To the right when facing netρ Air densitys Cross-sectional area of ballm Mass of ballw_(x), w_(z) Wind velocity componentsC_(D) Drag coefficientC_(L) Lift coefficientC_(N) Side force coefficientα Angle of flight above horizontalβ Angle of flight to right of targetg Gravitational acceleration

The inputs to the trajectory computation may be initial ball speed andflight angle and wind speed. The ball speed, flight angle, and spin maybe deduced from the racquet speed and orientation. The analysis andfeedback devices described herein may be used to acquire these initialconditions.

For example, using a camera based system, capturing the position of theball 5 or more times within the first 0.1 seconds of flight, or withinthe first 1 meter of flight, alternatively, allows the initialconditions for trajectory computation of a tennis ball to be determined.The calculations are fast enough to allow immediate feedback to beprovided to a user. For instance, the calculation described above may beperformed in less than 1 second. Of course, this calculation time mayvery depending on the performance of the computer hardware employed andthe numerical integration scheme used.

An example calculation is provided as follows.

Sample Trajectory Calculation Racquet orientation, deg. 0 Initial speed,m/s 40 Headwind, m/s 0 Initial flight angle, deg. 0 Initial spin, rpm 0Time step, sec .01 Air density, kg/m{circumflex over ( )}3 1.225 π3.141593 Ball radius, m .033 Drag area, π * R², m² 0.001327 Ball mass,kg 0.05 C_(D) 0.63 C_(L) 0.0 Initial inclination, rad 0.174533 Initialx-velocity, m/s 40.0 initial y-velocity, m/s 0.0 Gravitationalacceleration, m/s 9.8 Initial vertical velocity, m/s 0.0 Initialhorizontal velocity, m/s 40.0 Flight distance, m 25.0 Max height, m 9.0Final speed, m/s 21.8 Final angle, deg. −17.2 Final horizontal velocity,m/s 20.8 Final vertical velocity, m/s −6.5

The calculated trajectory (not shown) provides x and y distances where yis a height above the ground as a function of time. The table abovelists some constants used in the calculation and some results from thecalculation.

In the example above, as previously described, in one embodiment theinitial conditions may be derived from data captured using an analysisand feedback device. In another embodiment, the device may store adatabase of racquet and ball properties. Thus, the player may simplyenter the racquet and ball descriptors (e.g., string type and tension,brand and age of ball), and the device may be operable to look up theappropriate data. In other embodiments, the device may have some windmeasuring capabilities as well as other capabilities for determiningambient conditions that may affect a trajectory, such as temperature,humidity and air density (which may vary with altitude as well).

The analysis and feedback device may store the calculated trajectoryresults and the trajectory shown above may be displayed to the player.Also, as previously, feedback information, derived from the trajectorymay be output to the player. As another example, a trajectory of theball may be output in a 3-D format including, but not limited to, one ormore of simulated flight paths in 3-D and a ground track of the ball.Many different aspects of the trajectory may be output and these areprovided for illustrated purposes only.

The trajectory for strokes other than the serve—ground strokes, volleys,and overheads—can be predicted using the same techniques describedabove. The only difference is that in the case of strokes other than theserve, the ball is approaching the player's racquet with significantvelocity and spin. It is necessary to initialize the computation of thestroke with the velocity and spin of the ball, which maybe measured bythe vision system by direct observation.

Another potentially useful aspect of the tennis ball's trajectory tounderstand is its bounce dynamics. Depending on the speed, angle, andspin the ball possesses as it contacts the court surface, and thephysical properties of the ball and court, the bounce exhibitssignificant variation. This is an important strategic aspect of thecompetitive game of tennis, and players expend considerable effortunderstanding and controlling the bounce. A kick serve, for example,produces a bounce that sends the ball in a significantly differentdirection than it was traveling immediately before the bounce, resultingin a particularly difficult shot for the opponent to return. A flatground stroke results in a shallow bounce angle, keeping the ball lowafter the bounce and therefore difficult to return with power. Grasscourts produce skidding bounces that don't take as much speed off theball as hard courts, resulting in more challenging conditions for thereturn shot. This encourages grass court competitors to volley the ballmore often, so that they do not have to deal with a difficult bounce. Incontrast, clay courts and some hard courts slow the ball significantly,and the bounce responds more strongly to spin, favoring a style of playthat utilizes a variety of spins to be imparted on the ball.

Because the path of the ball after the bounce is so important to thecompetitive game, providing feedback about the bounce in trainingsessions may be valuable. This can be done by direct observation usingthe vision system, or it can be predicted from the trajectory and anunderstanding of the bounce characteristics. Using the trajectoryprediction method described above, the location, speed, and spin of theball when it contacts the court surface can be predicted. Then, a modelof the bounce dynamics can be used to calculate the change in velocityresulting from contact with the court. This will produce a new initialcondition for the ball (location, velocity, and spin) that can be usedto continue the trajectory prediction as the ball continues into theopponent's court. The speed of the ball, height of the bounce, andresultant spin after the bounce are examples of parameters useful inassessing a player's performance on a particular shot.

Although the foregoing invention has been described in detail by way ofillustration and example for purposes of clarity and understanding, itwill be recognized that the above described invention may be embodied innumerous other specific variations and embodiments without departingfrom the spirit or essential characteristics of the invention. Certainchanges and modifications may be practiced, and it is understood thatthe invention is not to be limited by the foregoing details, but ratheris to be defined by the scope of the appended claims.

What is claimed is:
 1. A device for analyzing trajectories of tennis balls, the device comprising: one or more cameras for recording video frame data used to characterize a trajectory of a tennis ball generated by a player during a tennis related activity; a logic device configured to i) receive the video frame data, ii) identify the tennis ball in the video frame data, iii) determine when a tennis racquet strikes the tennis ball, iv) generate trajectory parameters that characterize one or more states of the tennis ball along the trajectory based on the identified tennis ball in the video frame data, including at least one trajectory parameter measured by the logic device that characterizes a state of the tennis ball when the tennis racquet is determined by the logic device to strike the tennis ball, and iv) generate feedback information using the trajectory parameters, wherein the feedback information indicates the at least one trajectory parameter, and wherein the at least one trajectory parameter includes a height at which the tennis racquet strikes the tennis ball; and at least one output mechanism for providing the feedback information.
 2. The device of claim 1, wherein the tennis related activity is a toss of the tennis ball for a serve and wherein the logic device is further designed or configured to measure the trajectory of the tennis ball during the toss and prior to impact with a racquet.
 3. The device of claim 1, wherein the feedback information includes one or more of the following 1) a height of a serve toss, 2) a lean of the serve toss, 3) a spin of the serve toss, 4) a consistency of a plurality of serve tosses, 5) a height above a net of the tennis ball, 6) an impact position lean of the serve, 7) a consistency of an impact position of a plurality of serves, 8) an initial speed of the serve, 9) an initial angle of the serve, 10) an initial direction of the serve, 11) an initial spin of the serve, 12) a consistency of the initial speed of the plurality of serves, 13) a consistency of the angle of serve of the plurality of serves, 14) a consistency of the direction of the plurality of serves, 15) a consistency of the spin of the plurality of serves, 16) a calculated speed of the serve, 17) a consistency of the calculated speed of the plurality of serves, 18) a calculated landing speed of the serve, 19) a location of the serve at landing, 20) a spin of the serve at landing, 21) a direction vector of the serve at landing, 22) a consistency of the calculated landing speed for the plurality of serves, 23) a consistency of the location at landing of the plurality of server, 24) a consistency of the spin at landing of the plurality of serves, 25) a consistency of the direction vector of the plurality of serves, 26) a measured landing speed of the serve, 27) a measured location of the serve, 28) a measured spin of the serve, 29) a measured direction vector of the serve, 30) a consistency of the measured landing speed of the plurality of serves, 31) a consistency of the measured location of the plurality of serves, 32) a consistency of the spin measured for the plurality of serves, 33) a consistency of the direction vector measured for the plurality of serves, 34) a height below the net of the tennis ball, 35) a location of the crossing point of the net of the tennis ball, 36) a release location of the serve toss and 37) combinations thereof.
 4. The device of claim 1, wherein the logic device is further configured to identify a position of a body element of the player participating in the tennis related activity in the video frame data and to determine the position of the body element relative to a marking on the court.
 5. The device of claim 1, wherein the logic device is further configured to determine whether a tennis ball hit by a player on a tennis court is inside of or outside of one or more boundary lines associated with the tennis court.
 6. The device of claim 1, wherein the logic device is further configured to identify the tennis racquet in the video frame data and wherein the logic device is further configured to determine a position of the tennis racquet as a function of time, a velocity of the tennis racquet as a function of time, an orientation of the tennis racquet as a function of time or combinations thereof.
 7. The device of claim 1, wherein the logic device is further configured to identify a body element of the player participating in the tennis related activity in the video frame data and wherein the logic device is further configured to determine a position of the body element, an orientation of the body element, a velocity of the body element or combinations thereof, as a function of time and generate feedback information related to one or more of the position of the body element, the orientation of the body element or the velocity of the body element.
 8. The device of claim 1, wherein the logic device is further configured to determine, for the purposes of calibration, a distance from the device to one or more of the tennis ball, a racquet, a marking on a tennis court, a net on the tennis court, a vertical surface against which the tennis ball is being hit or a player hitting the tennis ball.
 9. The device of claim 1, further comprising one or more sensors for determining an orientation of the device and wherein the one or more sensors comprise accelerometers or tilt sensors.
 10. The device of claim 1, wherein the output mechanism includes a wireless interface for outputting the feedback information to one or more remote devices.
 11. The device of claim 10, wherein the remote device is worn.
 12. The device of claim 1, further comprising: a housing for the one or more cameras, the logic device, and the at least one output mechanism, the housing having a weight and form factor which facilitate one or more of transport, storage, unobtrusive set-up, calibration, or operation of the device.
 13. The device of claim 1, further comprising an input mechanism.
 14. The device of claim 13, wherein the input mechanism is a touch screen display.
 15. The device of claim 13, wherein the input mechanism is a wireless interface for receiving input from a remote device.
 16. The device of claim 1, wherein the logic device is a general purpose computer comprising: a processor, a data storage device, RAM, operating system software, device interfaces, device drivers and trajectory analysis software.
 17. The device of claim 1, wherein the device is capable of one of autonomous set-up, autonomous calibration, autonomous operation or combinations thereof.
 18. The device of claim 1, wherein after manual input of data by a user, a confirmation of data determined by the device, the logic device is further configured to complete a calibration procedure.
 19. The device of claim 1, further comprising: a memory storage device for storing trajectory session information wherein the trajectory session information comprises one or more of 1) digitized video frame data, trajectory information and feedback information generated for a plurality of trajectories, 2) a trajectory session time, 3) a trajectory session date, 4) a trajectory session location and combinations thereof.
 20. The device of claim 1, wherein the device is configured to determine for a plurality of related trajectories captured by the device a consistency for at least one of the trajectory parameters generated for each of the plurality of related trajectories.
 21. The device of claim 20, wherein the consistency is determined by calculating a statistical deviation.
 22. The device of claim 1, wherein the logic device is further configured to store data related to one or the trajectory of the tennis ball, movements of the player, movements of a racquet captured in the video frame data for use in a video simulation related to tennis.
 23. The device of claim 1, wherein the logic device is further configured to identify a boundary line of a tennis court in the video frame data and to determine whether the tennis ball is inside or outside of the boundary line based on the identified tennis ball and the identified boundary line in the video frame data, and wherein the feedback information indicates whether the tennis ball is inside or outside of the boundary line.
 24. The device of claim 1, wherein the logic device is configured to determine a height of a serve toss based on the identified tennis ball in the video frame data, and wherein the feedback information indicates the height of the serve toss.
 25. The device of claim 1, wherein the logic device is configured to measure a spin of the tennis ball during a serve toss based on the identified tennis ball in the video frame data, and wherein the feedback information indicates the spin.
 26. The device of claim 23, wherein the logic device is configured to determine a height of a serve toss based on the identified tennis ball in the video frame data, and wherein the feedback information indicates the height of the serve toss.
 27. The device of claim 1, wherein the logic device is configured to calculate an average height at which the tennis racquet strikes a tennis ball for multiple tennis shots, and wherein the feedback information indicates the average height.
 28. A method for analyzing trajectories of tennis balls, comprising: recording, with one or more cameras, video frame data used to characterize a trajectory of a tennis ball generated by a player during a tennis related activity; receiving the video frame data with a device having at least one processor for processing the video frame data; identifying, with the device, the tennis ball in the video frame data; determining, with the device, when a tennis racquet strikes the tennis ball; generating, with the device, trajectory parameters that characterize one or more states of the tennis ball along the trajectory based on the identified tennis ball in the video frame data, wherein the generating comprises measuring, with the device, at least one trajectory parameter that characterizes a state of the tennis ball when the tennis racquet is determined to strike the tennis ball, and wherein the at least one trajectory parameter includes a height at which the tennis racquet strikes the tennis ball; generating, with the device, feedback information using the trajectory parameters, wherein the feedback information indicates the at least one trajectory parameter; and providing the feedback information with at least one output mechanism.
 29. The method of claim 28, wherein the tennis related activity is a toss of the tennis ball for a serve, and wherein the method comprises measuring the trajectory of the tennis ball during the toss and prior to impact with the racquet.
 30. The method of claim 28, further comprising determining, with the device for a plurality of related trajectories captured by the device, a consistency for at least one of the trajectory parameters generated for each of the plurality of relate trajectories.
 31. The method of claim 28, further comprising determining, with the device, a height of a serve toss based on the identified tennis ball in the video frame data, wherein the feedback information indicates the height of the serve toss.
 32. The method of claim 28, further comprising determining, with the device, a spin of the tennis ball during a serve toss based on the identified tennis ball in the video frame data, wherein the feedback information indicates the spin.
 33. The method of claim 28, further comprising calculating, with the device, an average height at which the tennis racquet strikes a tennis ball for related tennis shots, wherein the feedback information indicates the average height. 